#!/bin/bash
#
# Trabajo Practico 1 Ejercicio 3
# Entrega número: 1
#
# - Integrantes:
#	- Martinez, Guillermo	DNI: 34510461
#	- Meli, Marcos		DNI: 31832759
#	- Reyes, Leandro	DNI: 34213699
#	- Rodriguez, Lucas	DNI: 34265017
#	- Cortez, Martin	DNI: 30440023
#

checkError()
{
   if [ $1 -lt 1 ]
   then
      showError
      exit 1
   fi
   if [ $1 -eq 1 ] && ([ $2 = "-h" ] || [ $2 = "-?" ])
   then
      checkHelp $2
   fi
}

checkHelp()
{
   case $1 in
   -h)
      showHelp
   ;;
   -?)
      OpcionStandar
   ;;
   esac
   exit 0
}

showError()
{
   echo "==> Error de sintaxis."
   echo "Sintaxis para obtener ayuda:"
   echo "   $0 -h"
}

showHelp()
{
   echo "==> Ayuda - $0"
   echo "Informador de directorios"
   echo " Sintaxis de ejecución:"
   echo "   $0 path_absoluto"
   echo " Sintaxis para obtener ayuda:"
   echo "   $0 -h"
   echo " Sintaxis para obtener versión y ayuda:"
   echo "   $0 -?"
}

OpcionStandar()
{ #Opción standard ‘-?’ que indica el número de versión y las formas de llamada.
   echo "$0 - Version 1.0"
   showHelp
}

# comienzo de programa, chequeo parametros
checkError $# $1

if test -d $1
then
   echo "Directorio: $1"
   contenido=`ls -Rl $1 | grep ^- | wc -l`
   echo "Cantidad de archivos en el dir: $contenido"
   echo "Cantidad de directorios en el dir: `ls -Rl $1 | grep ^d | wc -l`"
   echo "El dir ocupa: `du -k $1 | grep ^[^/]*$1$ | sed -e 's/\(^[0-9]*\).*/\1/g'` kb"
   if [ $contenido = 0 ]
   then
     echo "El directorio $1 no contiene archivos"
   else
###echo "El fichero mas grande es: `ls -Rl $1   ###SI NO SE DESEAN LOS .ARCHIVOS_OCULTOS
     echo "El fichero mas grande es: `ls -aRl $1 | sed -e 's/\(^\/.*\):/\1/' | awk '
        BEGIN{DIR="";DIRE="";FILE="";MAYOR=0;}
        /^\// {DIR=$1;}
        /^-/  {if(MAYOR < $5)
          {MAYOR=$5;DIRE=DIR;FILE=$8}}
        END{print DIRE"/"FILE;}'`"
   fi
else
   echo "$1 no es un directorio válido"
   showError
fi

#~ FIN DE ARCHIVO
